package com.film.item.service;

import java.util.List;
import java.util.Map;

import com.film.item.domain.Item;

/**
 * 创建项目Service接口
 * 
 * *@author fy
 * @date 2025-02-14
 */
public interface IItemService 
{
    /**
     * 查询创建项目
     * 
     * @param id 创建项目主键
     * @return 创建项目
     */
    public Item selectItemById(Long id);

    /**
     * 查询创建项目列表
     * 
     * @param item 创建项目
     * @return 创建项目集合
     */
    public List<Item> selectItemList(Item item);

    /**
     * 新增创建项目
     * 
     * @param item 创建项目
     * @return 结果
     */
    public int insertItem(Item item);

    /**
     * 修改创建项目
     * 
     * @param item 创建项目
     * @return 结果
     */
    public int updateItem(Item item);

    /**
     * 批量删除创建项目
     * 
     * @param ids 需要删除的创建项目主键集合
     * @return 结果
     */
    public int deleteItemByIds(Long[] ids);

    /**
     * 删除创建项目信息
     * 
     * @param id 创建项目主键
     * @return 结果
     */
    public int deleteItemById(Long id);
    /**
     * 统计不同状态的项目数量
     *
     * @return 状态和数量的映射
     */
    public List<Map<String, Object>> countItemsByStatus();

    /**
     * 查询各类型的剧目预算的变化趋势
     */
    List<Map<String, Object>> countItemsBudgetByYearAndType();

    /**
     * 查询各类型的剧目数量
     */
    List<Map<String, Object>> countItemsByType();

}
